#pragma once

#include <memory>
#include <utility>

#include <jsi/jsi.h>

#include "JsiSkHostObjects.h"

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdocumentation"

#include "include/effects/SkImageFilters.h"

#pragma clang diagnostic pop

namespace RNSkia {
namespace jsi = facebook::jsi;

class JsiSkImageFilter : public JsiSkWrappingSkPtrHostObject<SkImageFilter> {
public:
    JsiSkImageFilter(std::shared_ptr<RNSkPlatformContext> context, sk_sp<SkImageFilter> imageFilter)
        : JsiSkWrappingSkPtrHostObject<SkImageFilter>(std::move(context), std::move(imageFilter))
    {}

    EXPORT_JSI_API_TYPENAME(JsiSkImageFilter, ImageFilter)
};
} // namespace RNSkia
